import initSwc, { transformSync } from 'https://esm.sh/@swc/wasm-web';

let init = false;
let initPromise;
export async function compiler(code) {
    if (!init) {
        if (!initPromise) {
            initPromise = initSwc();
        }
        await initPromise;
        initPromise = null;
        init = true;
    }
    return transformSync(code, {
        jsc: {
            parser: {
                syntax: 'ecmascript',
                jsx: true
            }
        }
    }).code;
}